﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProjetoJornada_Negocios.Fachada;
using Basicas;
using Basicas.Utils.excecoes;
using Basicas.Utils;

namespace ProjetoJornada.Interno
{
    public partial class Jornada_Cadastro : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void CargoDropDownList_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (this.CargoDropDownList.SelectedIndex == 1)
            {
                ListItem[] nucleos = { new ListItem("Comercial", "1"), new ListItem("Financeiro", "2"), new ListItem("de Marketing", "3"), new ListItem("de Projetos", "4"), new ListItem("de Qualidade", "5"), new ListItem("de Recursos Humanos", "6"), new ListItem("Presidente Executivo", "7"), new ListItem("Presidente Adiministrativo", "8") };
                this.NucleoDropDownList.Items.Clear();
                this.NucleoDropDownList.Items.AddRange(nucleos);
            }
            else if (this.CargoDropDownList.SelectedIndex == 2)
            {
                ListItem[] nucleos = { new ListItem("Comercial", "1"), new ListItem("Financeiro", "2"), new ListItem("de Marketing", "3"), new ListItem("de Projetos", "4"), new ListItem("de Qualidade", "5"), new ListItem("de Recursos Humanos", "6") };
                this.NucleoDropDownList.Items.Clear();
                this.NucleoDropDownList.Items.AddRange(nucleos);
            }

        }

        protected void CadastrarImageButton_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                CadastrarImageButton.Enabled = false;

                Fachada fachada = Fachada.Instance;

                string nome = NomeJornadaTextBox.Text;

                string dataInicioInput = DataInicioTextBox.Text;
                int diaInicio = Convert.ToInt32(dataInicioInput.Substring(0, 2));
                int mesInicio = Convert.ToInt32(dataInicioInput.Substring(3, 2));
                int anoInicio = Convert.ToInt32(dataInicioInput.Substring(6, 4));
                DateTime dataInicio = new DateTime(anoInicio, mesInicio, diaInicio);

                string dataFimInput = DataFimTextBox.Text;
                int diaFim = Convert.ToInt32(dataFimInput.Substring(0, 2));
                int mesFim = Convert.ToInt32(dataFimInput.Substring(3, 2));
                int anoFim = Convert.ToInt32(dataFimInput.Substring(6, 4));
                DateTime dataFim = new DateTime(anoFim, mesFim, diaFim);

                string nomeResponsavel = NomeResponsavelTextBox.Text;
                string cpf = CPFTextBox.Text;
                cpf = cpf.Replace(".", "");
                cpf = cpf.Replace("-", "");

                int cargo = 0;
                if (CargoDropDownList.SelectedValue != "" && NucleoDropDownList.SelectedValue != "")
                {
                    cargo = Convert.ToInt32(String.Concat(CargoDropDownList.SelectedValue, NucleoDropDownList.SelectedValue));
                }
                CargoCiti cc = (CargoCiti)cargo;

                string email = EmailTextBox.Text;
                string celular = CelularTextBox.Text;
                string telefone = TelefoneTextBox.Text;
                Responsavel responsavel = new Responsavel(cpf, cc, nomeResponsavel, email, telefone, celular);
                Jornada jornada = new Jornada(dataInicio, dataFim, nome, responsavel);

                int idJornada = fachada.InserirJornada(jornada);
                Session["Jornada"] = idJornada;
                Session["JornadaNome"] = jornada.Nome;

                Response.Redirect("Turma_Listar.aspx");
            }
            catch (PeriodoInvalidoException)
            {
                this.lblMensagemErro.Text = MensagensPadrao.ERRO_PERIODO_INVALIDO;           
            }
        }
    }
}
